package test.csi.comp30220.fall2011.oteop.flight.impl;

import test.csi.comp30220.fall2011.oteop.navigation.KnownPositions;
import ucd.csi.comp30220.fall2011.oteop.flughafen.AirportInfo;
import ucd.csi.comp30220.fall2011.oteop.flight.FlightInfo;
import ucd.csi.comp30220.fall2011.oteop.flight.PlaneInfo;

public class FlightCreator implements KnownPositions {
    
    protected PlaneInfo createPlaneInfo(int multiplier) {
        return new PlaneInfo(
            "Boeing 747-200",   // type
            45100,              // service ceiling
            35000,              // cruising altitude,
             2000 * multiplier, // rate of climb,
              522 * multiplier, // maximum speed
              100 * multiplier, // stall speed,
              490 * multiplier, // cruising speed
              180 * multiplier, // rotate speed,
              160 * multiplier, // approach speed,
              154 * multiplier, // landing speed,
             4880,              // range
            10500 / multiplier, // take off distance,
             6170 / multiplier  // landing distance
        );
    }

    protected FlightInfo createFlightInfo() {
        return createFlightInfo(1);
    }
    
    protected FlightInfo createFlightInfo(int multiplier) {
        return new FlightInfo(
            "British Airways", 
            "BA47",
            "Speedbird four seven heavy", 
            createPlaneInfo(multiplier), 
            null,
            new AirportInfo("LAX", LAX), 
            new AirportInfo("JFK", JFK));
    }

}
